package com.shux.utils.other;

import java.io.UnsupportedEncodingException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public final class SUtil {

	private static SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

	public static boolean verifyPhone(String phone) {
		/*
		 * 133、153、180、181、189 177、173 130、131、132、155、156 145 185、186 176、185
		 * 134x（0-8）、135、136、137、138、139、150、151、152、158、159、182、183、184
		 * 157、187、188 147 178
		 */
		Pattern p = Pattern.compile("^0?1[3|4|5|7|8][0-9]\\d{8}$");
		Matcher m = p.matcher(phone);
		return m.matches();
	}

	/**
	 * 手机上按“*#06#”
	 * 
	 * @param imei
	 * @return
	 */
	public static boolean verifyImei(String imei) {
		if (imei != null && imei.length() == 15) {
			int index = errImei.indexOf(imei);
			return index == -1;
		} else
			return false;
	}

	private final static String errImei = "000000000000000888888888888888";

	public final static String getDay() {
		return sdf.format(new Date());
	}

	public static String toUTF8(String src) throws UnsupportedEncodingException {
		String encoding = getEncoding(src);
		if(encoding.toUpperCase().equals("GB2312")){
			return src;
		}
		System.out.println(encoding);
		String data = new String(src.getBytes(encoding), "UTF-8");
		System.out.println(data);
		return data;
	}

	public static String getEncoding(String str) {
		String encode = "GB2312";
		try {
			if (str.equals(new String(str.getBytes(encode), encode))) {
				String s = encode;
				return s;
			}
		} catch (Exception exception) {
		}
		encode = "ISO-8859-1";
		try {
			if (str.equals(new String(str.getBytes(encode), encode))) {
				String s1 = encode;
				return s1;
			}
		} catch (Exception exception1) {
		}
		encode = "UTF-8";
		try {
			if (str.equals(new String(str.getBytes(encode), encode))) {
				String s2 = encode;
				return s2;
			}
		} catch (Exception exception2) {
		}
		encode = "GBK";
		try {
			if (str.equals(new String(str.getBytes(encode), encode))) {
				String s3 = encode;
				return s3;
			}
		} catch (Exception exception3) {
		}
		return "";
	}

}
